<?php
/**
 * Created by PhpStorm.
 * User: zhan
 * Date: 2020/6/6  18:07
 */

// 获取当前域名
function getDomain(){
    return $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['SERVER_NAME'];
}

//阿里OSS访问域名
function oss_domain(){
    return $_SERVER['REQUEST_SCHEME'] .'://'.env('ALIYUN_OSS_VISIT','').'/';
}

/**
 *获取唯一订单号
 * @return string
 */
function order_number(){
    return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
}

//公共方法
function policyMessageFormat($status, $message = '权限不足!',$code=405)
{

    if(!$status) {
        throw new \App\Exceptions\PolicyException('无权限',$code);
    }
    return true;
}

/**
 * 获取上传文件名
 */
function pathName(){
    // 保存路径
    $saveName = 'wxhead/' . date('Ymd') . '/';

    // 全路径
    $path = 'upload/' . $saveName;
    // 验证文件夹是否存在
    if(!is_dir($path)){
        // 不存在则创建
        mkdir($path,0777,true);
    }

    // 获取图片名称
    $imageName = md5(time()) . '.jpg';
    $pathName = 'upload/'.$saveName . $imageName;
    return $pathName;
}

/**
 * 下载微信头像
 */
function getWxHead($imageUrl){
    //dd($imageUrl);die;
    // 保存路径
    $saveName = 'wxhead/' . date('Ymd') . '/';

    // 全路径
    $path = 'upload/' . $saveName;
    // 验证文件夹是否存在
    if(!is_dir($path)){
        // 不存在则创建
        mkdir($path,0777,true);
    }

    // 获取图片名称
    $imageName = md5(time()) . '.jpg';

    downloadImages($imageUrl, $path . $imageName);
    return '/upload/'.$saveName . $imageName;

}

/**
 * 从网上下载图片保存到服务器
 * @param $url 图片网址
 * @param $path 保存到服务器的路径
 */
function downloadImages($url,$path) {
    $img = getcurl($url);
    //保存的文件名称用的是链接里面的名称
    $fp = fopen($path,'w');
    fwrite($fp, $img);
    fclose($fp);
}

/**
 * 获取curl 返回数据
 * @param $url
 * @return bool|string
 */
function getcurl($url){
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
    curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
    curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false); // 绕过ssl
    $curl = curl_exec($ch);
    curl_close($ch);

    return $curl;
}

function replaceHtml($data){
    return preg_replace("/(\s|\&nbsp\;|　|\xc2\xa0)/", " ", strip_tags($data));
}

/**
 * 时间 H:i:s 转 s
 * @User yaokai
 * @param $his
 * @return float|int
 */
function HisToS($his)
{
    $str = explode(':', $his);

    $len = count($str);
    if ($len == 3) {
        $time = $str[0] * 3600 + $str[1] * 60 + $str[2];
    } elseif ($len == 2) {
        $time = ($str[0] * 60 + $str[1]) * 60;
    } elseif ($len == 1) {
        $time = $str[0];
    } else {
        $time = 0;
    }
    return $time;
}

/**
 * 时间 s 转 H:i:s
 * @User yaokai
 * @param $seconds
 * @return string
 */
function SToHis($seconds)
{
    $seconds = (int)$seconds;
    $time = '';
    if ($seconds > 3600) {
        if ($seconds > 86400) {
            $days = (int)($seconds / 86400);
            $seconds = $seconds % 86400;//取余
            $time .= $days . " 天 ";
        }
        $hours = intval($seconds / 3600);
        $minutes = $seconds % 3600;//取余下秒数
        $time .= $hours . " 小时 " . gmstrftime('%M 分钟 %S 秒', $minutes);
    } elseif ($seconds > 60) {
        $time = gmstrftime('%M 分钟 %S 秒', $seconds);
    } else {
        $time = gmstrftime('%S 秒', $seconds);
    }
    return $time;
}